package com.hanthink.system.service.logistics;

import java.util.Date;
import java.util.List;
import com.hanthink.system.domain.logistics.ProductionDeliveryPlan;

/**
 * ProductionDeliveryPlanService接口
 * 
 * @author lizhao
 * @date 2022-09-05
 */
public interface IProductionDeliveryPlanService 
{
    /**
     * 查询ProductionDeliveryPlan
     * 
     * @param id ProductionDeliveryPlanID
     * @return ProductionDeliveryPlan
     */
        ProductionDeliveryPlan selectProductionDeliveryPlanById(Long id);

    /**
     * 查询ProductionDeliveryPlan列表
     * 
     * @param productionDeliveryPlan ProductionDeliveryPlan
     * @return ProductionDeliveryPlan集合
     */
    List<ProductionDeliveryPlan> selectProductionDeliveryPlanList(ProductionDeliveryPlan productionDeliveryPlan);

    /**
     * 新增ProductionDeliveryPlan
     * 
     * @param productionDeliveryPlan ProductionDeliveryPlan
     * @return 结果
     */
    int insertProductionDeliveryPlan(ProductionDeliveryPlan productionDeliveryPlan);

    /**
     * 修改ProductionDeliveryPlan
     * 
     * @param productionDeliveryPlan ProductionDeliveryPlan
     * @return 结果
     */
    int updateProductionDeliveryPlan(ProductionDeliveryPlan productionDeliveryPlan);

    /**
     * 批量删除ProductionDeliveryPlan
     * 
     * @param ids 需要删除的ProductionDeliveryPlanID
     * @return 结果
     */
    int deleteProductionDeliveryPlanByIds(Long[] ids);

    /**
     * 删除ProductionDeliveryPlan信息
     * 
     * @param id ProductionDeliveryPlanID
     * @return 结果
     */
    int deleteProductionDeliveryPlanById(Long id);

    //集货确认接口
    List<ProductionDeliveryPlan> selectshippingconfirmation(ProductionDeliveryPlan productionDeliveryPlan);
    List<ProductionDeliveryPlan> selectshippingconfirmationnook(ProductionDeliveryPlan productionDeliveryPlan);
    int sureshippingconfirmation(ProductionDeliveryPlan productionDeliveryPlan);
    //车辆到厂接口
    List<ProductionDeliveryPlan> selectdepartureconfirmation(ProductionDeliveryPlan productionDeliveryPlan);
    List<ProductionDeliveryPlan> selectdepartureconfirmationnook(ProductionDeliveryPlan productionDeliveryPlan);
    int suredepartureconfirmation(ProductionDeliveryPlan productionDeliveryPlan);
    //车辆出发接口
    List<ProductionDeliveryPlan> selectvehiclearrivesconfirm(ProductionDeliveryPlan productionDeliveryPlan);
    List<ProductionDeliveryPlan> selectvehiclearrivesconfirmnook(ProductionDeliveryPlan productionDeliveryPlan);
    int surevehiclearrivesconfirm(ProductionDeliveryPlan productionDeliveryPlan);
    //车辆到厂接口
    List<ProductionDeliveryPlan> selectarrivalgoodsconfirm(ProductionDeliveryPlan productionDeliveryPlan);
    List<ProductionDeliveryPlan> selectarrivalgoodsconfirmnook(ProductionDeliveryPlan productionDeliveryPlan);
    int surearrivalgoodsconfirm(ProductionDeliveryPlan productionDeliveryPlan);
}
